<?php

namespace app\classes\service;

use app\classes\model\ClassModel;
use think\Db;

class ClassService
{
     /*
         * 如果数据为is_null，那么着呢名此课程还没有开班呢
         * visible_type是全部可见
         * is_and_class=0是没有并班，就是此班级还存在
         * class_stauts 0:没有开课的班级，1：进行中的班级
         */
    public  function  is_course_class($param)
    {
        $course_id=$param['course_id'];
        $class_model=new ClassModel();
        $class_ids=$class_model
            ->where(['course_id'=>$course_id,'is_and_class'=>0,'visible_type'=>0])
            ->where('class_status',['eq',0],['eq',1],'or')->select();
        if(count($class_ids->toArray())<1){
            $this->error('此课程还没有开班');
        }
        return $class_ids;
    }
    /*
     * 是否是预选家长
     * 预选的课程不能超过一年
     * 如果此课程班级都满员了，那么就可以弹出预选，让你选择
     */
    public function is_pre_parent($param)
    {
        $course_id=$param['course_id'];
        $p_id=cmf_get_current_user_id();
        //判断在cmf_primary_parent是否存在且小于一年
        $pre_count=Db::name('primary_parent')->where(['delete_time'=>0,'use_id'=>$p_id,'course_id'=>$course_id,'shop_id'=>$param['shop_id']])->count();
        $pre_create_time=Db::name('primary_parent')->where(['delete_time'=>0,'use_id'=>$p_id,'course_id'=>$course_id])->value('create_time');
        if($pre_create_time+365*24*3600<time())
        {
            $pre_count=0;
        }

        $class_ids=$this->is_course_class($param);
        //初始化
        $n=0;
        foreach($class_ids as $k=>$v)
        {
            if($v['total_num']==$v['current_num'])
            {
                $n+=1;
            }
        }
        if(!empty($class_ids)  && empty($pre_count))
        {
            if(count($class_ids->toArray())!==$n)
            {

                $this->redirect('order/order/pre_class',array('course_id'=>$course_id));
            }
        }
        return $pre_count;
    }

}